Added documentation about how to use the unit test runner.
[adiumx.git] / Plugins / Purple Service / CBOscarService.m
blob5365f9beccd0a6e7c5d207462722fc3c1629342f
1 /* 
2  * Adium is the legal property of its developers, whose names are listed in the copyright file included
3  * with this source distribution.
4  * 
5  * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
6  * General Public License as published by the Free Software Foundation; either version 2 of the License,
7  * or (at your option) any later version.
8  * 
9  * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
10  * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
11  * Public License for more details.
12  * 
13  * You should have received a copy of the GNU General Public License along with this program; if not,
14  * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
15  */
17 #import "AIPurpleOscarAccountViewController.h"
18 #import <Adium/AIStatusControllerProtocol.h>
19 #import "CBOscarService.h"
20 #import "DCPurpleOscarJoinChatViewController.h"
22 /*!
23  * @class CBOscarService
24  * @brief Superclass for ESAIMService and ESICQService
25  *
26  * This service is abstract and should not be used directly.
27  */
28 @implementation CBOscarService
30 //Account Creation
31 - (AIAccountViewController *)accountViewController{
32     return [AIPurpleOscarAccountViewController accountViewController];
35 - (DCJoinChatViewController *)joinChatView{
36         return [DCPurpleOscarJoinChatViewController joinChatView];
39 //Service Description
40 - (NSString *)serviceClass{
41         return @"AIM-compatible";
43 - (NSCharacterSet *)allowedCharacters{
44         return [NSCharacterSet characterSetWithCharactersInString:@"+abcdefghijklmnopqrstuvwxyz0123456789@._- "];
46 - (NSCharacterSet *)allowedCharactersForUIDs{
47         return [NSCharacterSet characterSetWithCharactersInString:@"+abcdefghijklmnopqrstuvwxyz0123456789@._- "];       
49 - (NSCharacterSet *)ignoredCharacters{
50         return [NSCharacterSet characterSetWithCharactersInString:@" "];
52 - (AIServiceImportance)serviceImportance{
53         return AIServiceUnsupported;
56 #pragma mark Must be subclassed
57 - (NSString *)serviceCodeUniqueID{
58         return @""; /* Subclasses should return a value starting with libpurple-oscar */
60 - (NSString *)shortDescription{
61         return @"";
63 - (NSString *)longDescription{
64         return @"";
66 - (NSString *)serviceID{
67         return @"";
70 #pragma mark Statuses
71 /*!
72  * @brief Register statuses
73  */
74 - (void)registerStatuses{
75         [[adium statusController] registerStatus:STATUS_NAME_AVAILABLE
76                                                          withDescription:[[adium statusController] localizedDescriptionForCoreStatusName:STATUS_NAME_AVAILABLE]
77                                                                           ofType:AIAvailableStatusType
78                                                                   forService:self];
80         [[adium statusController] registerStatus:STATUS_NAME_AWAY
81                                                          withDescription:[[adium statusController] localizedDescriptionForCoreStatusName:STATUS_NAME_AWAY]
82                                                                           ofType:AIAwayStatusType
83                                                                   forService:self];
84         
85         [[adium statusController] registerStatus:STATUS_NAME_INVISIBLE
86                                                          withDescription:[[adium statusController] localizedDescriptionForCoreStatusName:STATUS_NAME_INVISIBLE]
87                                                                           ofType:AIInvisibleStatusType
88                                                                   forService:self];
91 @end